package main

import (
	"flag"
	"fmt"
	"os"
)

var (
	T string // 任务类型: single|double|three
	F string // 文件路径: json文件路径
	H bool   // 命令帮助
)

func init() {
	flag.StringVar(&T, "T", "", "任务类型: `single|double|three`")
	flag.StringVar(&F, "F", "", "任务文件路径: json任务文件路径`filepath`")
	flag.BoolVar(&H, "H", false, "命令帮助")
	flag.Usage = usage
}

func usage() {
	fmt.Fprintf(os.Stderr, `sister_hunter version: 0.0.1
Usage: sister_hunter [ -T single -F ./example/单层单任务.json ] [ -H ]

Options:
`)
	flag.PrintDefaults()
}

func main() {
	flag.Parse()
	// -H 命令帮助
	if H {
		flag.Usage()
		return
	}
	// 任务文件定位
	_, err := os.Stat(F)
	if os.IsNotExist(err) {
		fmt.Println("任务文件不存在, 请重新确定文件路径!")
		return
	}
	// 任务类型选择
	switch T {
	case "single":
		RunSingleTask(F)
	case "double":
		RunDoubleTask(F)
	case "three":
		fmt.Println("three")
	default:
		fmt.Println("任务类型不存在: single【单层任务】/double【双层任务】/three【三层任务】,三选一!")
		return
	}
}
